---
title: Object Ownership
description: Every object has an owner field that dictates how you can use it in transactions. Each object is either address-owned, dynamic fields, immutable, shared, or wrapped.
---

Every object has an owner field that dictates how you can use it in transactions. Objects can have the following types of ownership:

## Address-owned

An address-owned object is owned by a specific 32-byte address that is either an account address (derived from a particular signature scheme) or an object ID. An address-owned object is accessible only to its owner and no others. 

Go to [Address-Owned Objects](./object-ownership/address-owned.mdx).

## Dynamic fields

Dynamic fields and dynamic object fields on Sui are added and removed dynamically, affect gas only when accessed, and store heterogeneous values.

Go to [Dynamic (Object) Fields](./dynamic-fields.mdx).

## Immutable

An immutable object is an object that can't be mutated, transferred, or deleted. Immutable objects have no owner, so anyone can use them.

Go to [Immutable Objects](./object-ownership/immutable.mdx).

## Shared

A shared object is an object that is shared using the `0x2::transfer::share_object` function and is accessible to everyone. Unlike owned objects, anyone can access shared ones on the network.

Go to [Shared Objects](./object-ownership/shared.mdx).

## Wrapped

In Move, you can organize data structures by putting a field of `struct` type in another.

Go to [Wrapped Objects](./object-ownership/wrapped.mdx).